package com.ylzinfo.ms.factory.baseHandle;

import com.ylzinfo.ms.factory.AbstoryEnAndDeFactory;
import com.ylzinfo.ms.utils.RSA.CryptoUtils;
import lombok.extern.slf4j.Slf4j;

/**
 * @Description: 未写实现方式
 * @Product: IntelliJ IDEA
 * @Author Rogchen rogchen128@gmail.com
 * @Created Date: 2019/3/29 13:59
 **/
@Slf4j
public class RSABaseHandle extends AbstoryEnAndDeFactory {

    /**
     * 使用私钥进行加密-供公钥进行加密
     * @param param
     * @param key
     * @return
     */
    @Override
    public String encoderBase64(String param, String key) {
        try {
            String pk = CryptoUtils.encryptStrByPri(param, key);
            return pk;
        } catch (Exception e) {
            e.printStackTrace();
            log.error(e.getMessage(),e);
        }
        return null;
    }

    /**
    * @Description 使用私钥解密-解传过来公钥加密后的数据
    * @Author Rogchen
    * @Date 10:19 2019/4/2
    * @Param [param, key]
    * @Return java.lang.String
    **/
    @Override
    public String decoderBase64(String param, String key) {
        //对密钥进行base64解密
        try {
            String pk = CryptoUtils.descryptStrByPri(param, key);
            return pk;
        } catch (Exception e) {
            e.printStackTrace();
            log.error(e.getMessage(),e);
        }
        return null;
    }
}
